package com.fxd.utils;

import org.springframework.core.convert.converter.Converter;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @auther fuxudong
 * @date 2021/2/1 - 14:12
 * 把字符串转换为日期类型的自定义类型转换器
 * public interface Converter<S, T>
 * S表示请求参数数据类型
 * T表示目标数据类型
 * 自定义类型转换器步骤：
 *      1，实现Converter接口及其方法
 *      2，在springmvc配置文件中配置自定义类型转换器
 *      3，在mvc：annotation标签中添加conversion-service属性注册自定义类型转换器
 */
public class stringToDateConverter implements Converter<String, Date> {
    /**
     * @param s 传入进来的字符串
     * @return
     */
    @Override
    public Date convert(String s) {
        if (s == null) {
            throw new RuntimeException("不能为空");
        }
        //日期格式对象
        SimpleDateFormat sd = new SimpleDateFormat("yyyy-mm-dd");
        //把字符串转换为日期
        try {
            Date date = sd.parse(s);
            return date;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
